#ifndef CLOCK_H
#define CLOCK_H
#include "Troll3D_global.h"
#include <time.h>

/*! @brief The clock classed will be used to determine time in our application
 *  This class will be base on the clock c++ function . This function return the number of clock clicks since application start
 *  to get the time in second, we must use the maccro CLOCKS_PER_SEC
 *
 *  The clock function might also, later, be used for triggering event at specified times
 */
class TROLL3DSHARED_EXPORT Clock
{
    public :

    /********************************/
    /*          Members             */
    /********************************/

        /********************************/
        /*          Properties          */
        /********************************/

            long long int m_StartTime;          /*!< Time at clock initialization, in clock click */


        /********************************/
        /*          Methods             */
        /********************************/

            void Start();                   /*!< Start the clock        */
            void Stop();                    /*!< Stop the clock         */

            /*! @brief Return time elasped since clock start        */
            double TimeElapsed();

        /********************************/
        /*      Virtual Methods         */
        /********************************/



    /********************************/
    /*          Constructor         */
    /********************************/

            Clock();

    /********************************/
    /*          Static              */
    /********************************/

        /********************************/
        /*          Properties          */
        /********************************/



};

#endif
